import io

import pytesseract
from PIL import Image


def recognize_captcha(img_bytes: bytes) -> str:
    """
    传入验证码图片 bytes，返回识别的纯数字字符串。
    依赖：pip install pillow pytesseract
          系统需先安装 tesseract 可执行文件
    """
    image = Image.open(io.BytesIO(img_bytes)).convert("L")  # 灰度
    text = pytesseract.image_to_string(
        image,
        config="--psm 7 -c tessedit_char_whitelist=0123456789"
    )
    return text.strip()
